www.gusucode.com > 调制识别 基于决策论的通信信号调制识别实现matlab源码程序 > moulation classification/key feature simulink/qam16.m
function[s] = qam16(d,fb,fc,fs,Ac) %clear; d=randint(1,10,16);fb=500;fc=2000;Ac=1;fs=12000; N=length(d);M=fs/fb;tb=1/fb;tc=1/fc;Nc=M*tc/tb; for j = 1:N if d(j)==0 for i = 1:M s((j-1)*M+i)=sqrt(18)*Ac*cos(2*pi*(i-1)/Nc+3*pi/4); end elseif d(j)==1 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc+2.8198); end elseif d(j)==2 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc-2.8198); end elseif d(j)==3 for i = 1:M s((j-1)*M+i)=sqrt(18)*Ac*cos(2*pi*(i-1)/Nc-3*pi/4); end elseif d(j)==4 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc+1.8925); end elseif d(j)==5 for i = 1:M s((j-1)*M+i)=sqrt(2)*Ac*cos(2*pi*(i-1)/Nc+3*pi/4); end elseif d(j)==6 for i = 1:M s((j-1)*M+i)=sqrt(2)*Ac*cos(2*pi*(i-1)/Nc-3*pi/4); end elseif d(j)==7 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc-1.8925); end elseif d(j)==8 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc+1.2490); end elseif d(j)==9 for i = 1:M s((j-1)*M+i)=sqrt(2)*Ac*cos(2*pi*(i-1)/Nc+pi/4); end elseif d(j)==10 for i = 1:M s((j-1)*M+i)=sqrt(2)*Ac*cos(2*pi*(i-1)/Nc-pi/4); end elseif d(j)==11 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc-1.2490); end elseif d(j)==12 for i = 1:M s((j-1)*M+i)=sqrt(18)*Ac*cos(2*pi*(i-1)/Nc+pi/4); end elseif d(j)==13 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc+0.3218); end elseif d(j)==14 for i = 1:M s((j-1)*M+i)=sqrt(10)*Ac*cos(2*pi*(i-1)/Nc-0.3218); end else for i = 1:M s((j-1)*M+i)=sqrt(18)*Ac*cos(2*pi*(i-1)/Nc-pi/4); end end end